1. Field of the Invention
The invention herein relates to computer interfaces, and to data exchange.
2. Description of Related Art
In general, the information exchange between electronic devices occurs on 2 levels:                electrical level—driving different levels of signals to exchange information,        protocol level—organizing the information in a specific way as to be meaningful for the parties exchanging information.        
In the existing standard (wired) or the wireless USB interface:                on electrical level—it uses the UTMI or wireless interface,        on protocol level—the information exchange is defined between 2 sides, each with a different behavior.        
In particular, the protocol level as defined in the documents on the USB specification, found on www.usb.org, defines 3 types of participants—‘host’, ‘device’, ‘on the go’ (OTG—which includes host and device), where:                host—generates ‘frames’, and initiates requests for sending and receiving information,        device—receives ‘frames’, receives the requests for sending and receiving information, and responds accordingly,        OTG—does a preliminary selection as to become a host or device and behaves as one of the above ways, as a device or a host.        
Currently the USB protocol level has the following significant limitations:                standard computer system is equipped with a ‘host’ controller, and can communicate only with a ‘device’; the existing USB interface does not allow direct communication between 2 computer systems equipped with ‘host’ controllers,        the protocol level requires significant additional information—overhead, added to the useful information; one example is the ‘control’ type transaction—for ex. Requiring 56 bytes of additional information required by the protocol in order to send 8 bytes of useful data,        the protocol level defines and requires a complex way of connecting between 2 participants—the USB host has to read descriptors from the USB device, set address, set configuration/interface, do a specific type of transfer—bulk, control, isochronous, etc.,        the protocol level defines abstractions called ‘pipes’ which allow sending receiving information in a defined way; the resulting implementation in hardware and software has to deal with the pre-defined way of using a particular type of ‘pipe’.        